package com.duanjw.springboot.html;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

/**
 * 简单 Web 应用
 * <p>
 * 运行main方法后通过浏览器访问`localhost:8080`，可看到`Hello World!`
 * <p>
 * 注解
 * 1. @EnableAutoConfiguration：开启自动配置，由于`spring-boot-starter-web`内置了Tomcat，所以会启动一个web项目
 * 2. @RestController：将类标识为`Controller`，同时所有接口的返回值是JSON，其实就是SpringMVC中@Controller和@ResponseBody组合
 * 3. @RequestMapping：提供路由信息，使用HTTP的任意方法（如：get、post等）访问"/"将会映射到home方法
 *
 * @author duanjw
 * @since 2019-04-16
 */
@EnableAutoConfiguration
@RestController
public class HtmlApplication {
    /**
     * 程序入口
     *
     * @param args
     */
    public static void main(String[] args) {
        // 引导应用程序启动spring，同时会启动Tomcat
        SpringApplication.run(HtmlApplication.class, args);
    }

    /**
     * 主页面
     *
     * 访问：curl localhost:8080
     *
     * 其它常用的方法注解：@GetMapping、@PostMapping、@DeleteMapping、@PutMapping等，
     * 分别表示可通过http的get、post、delete、put方法访问
     *
     * @return
     */
    @RequestMapping
    String home(String username) {
        System.out.println("用户名：" + username);
        return "Hello World!";
    }
    /**
     * 登录
     *
     * @return
     */
    @RequestMapping("login-get")
    String loginByGet(String username) {
        System.out.println("用户名：" + username);
        return "Hello World!";
    }

    /**
     * 登录
     *
     * @return
     */
    @RequestMapping("login")
    String loginByPost(String username) {
        System.out.println("用户名：" + username);
        return "1".equals(username) ? "登录成功" : "用户名或密码错误";
    }
}
